/**
 * 
 */
package org.gigi.security.service;

import java.util.List;

import org.gigi.security.domain.Menu;

/**
 * 菜单管理业务层接口。
 *
 * @author Eugene Wang 2011-9-12
 * @see
 */
public interface MenuService {

	/**
	 * 获取所有顶级菜单。
	 * @param parentCode
	 * @return
	 */
	List<Menu> findChildren(String parentCode);

	/**
	 * 新增一个菜单。
	 * @param menu
	 */
	void create(Menu menu);

	/**
	 * 删除一个菜单。
	 * @param code
	 */
	void delete(String code);

	/**
	 * 更新一个菜单。
	 * @param any
	 */
	void update(Menu any);

	/**
	 * 根据code获取菜单。
	 * @param code
	 * @return
	 */
	Menu findByCode(String code);

	/**
	 * 获取所有菜单，返回顶级菜单列表
	 * @return 顶层菜单
	 */
	List<Menu> findAll();
}
